Method and system for providing integrated content delivery

ABSTRACT

An approach is provided for integrated content delivery. A request for content stored on a disk array of a router is received. In response to the request, one or more disks of the disk array are selected to retrieve the content, wherein the disk array is natively coupled to a switch fabric of the router. A path is determined through the switch fabric for transmission of the content.

BACKGROUND INFORMATION

Consumer demand for high-quality, low-latency delivery of streamingmultimedia and/or other rich digital content associated with services,such as interactive broadcasting, massively multiplayer online gaming,targeted advertisement insertion, video-on-demand, and the like, isincreasingly motivating service providers to develop new, more diverseand complex broadband services. In general, however, service providersthat compete to provide such content-based services within (or over)core networking infrastructures of, for example, the Internet, arestruggling to meet the growing quality of service (e.g., guaranteedavailability, high bit rate, low error probability, etc.) demandsassociated with these emerging services. Even though a few conventionalapproaches to providing such content-based services have surfaced, suchas strategically located (e.g., geographically dispersed) contentdelivery networks (CDN), centralized CDN-like platform systems, etc.,these approaches have merely alleviated the quality of servicerequirements and remain wrought with aggregately inefficient, high-cost,and scalably challenged solutions that are able to pacify, but unable toquench the ever growing consumer demand for more bandwidth, higherreliability, and feature rich content-based services.

Therefore, there is a need for an approach that can effectively andefficiently provide content delivery that is also capable of supportinga diversity of existing and emerging content-based services.

BRIEF DESCRIPTION OF THE DRAWINGS

Various exemplary embodiments are illustrated by way of example, and notby way of limitation, in the figures of the accompanying drawings inwhich like reference numerals refer to similar elements and in which:

FIG. 1 is a diagram of a system for providing integrated contentdelivery, according to an exemplary embodiment;

FIG. 2 is a diagram of an integrated content delivery router, accordingto an exemplary embodiment;

FIG. 3 is a diagram of a multi-chassis integrated content deliveryrouter, according to an exemplary embodiment;

FIG. 4 is a flowchart of a process for integrated content delivery,according to an exemplary embodiment; and

FIG. 5 is a diagram of a computer system that can be used to implementvarious exemplary embodiments.

DESCRIPTION OF THE PREFERRED EMBODIMENT

A preferred apparatus, method, and software for providing integratedcontent delivery are described. In the following description, for thepurposes of explanation, numerous specific details are set forth inorder to provide a thorough understanding of the preferred embodimentsof the invention. It is apparent, however, that the preferredembodiments may be practiced without these specific details or with anequivalent arrangement. In other instances, well-known structures anddevices are shown in block diagram form in order to avoid unnecessarilyobscuring the preferred embodiments of the invention.

Although various exemplary embodiments are described with respect toparticular content-based services over an Internet Protocol (IP)network, it is contemplated that various exemplary embodiments areapplicable to other equivalent networking infrastructures.

FIG. 1 is a diagram of a system for providing integrated contentdelivery, according to an exemplary embodiment. For purposes ofillustration, system 100 for providing integrated content delivery viaintegrated content delivery router 101 is described with respect toservice provider network 103. Accordingly, it is contemplated thatsystem 100 enables consumers to access via, for example, end devices 105a-105 n and/or wireless end devices 107 a-107 n, one or morecontent-based services 109 made available over, for instance, theInternet 111 or any other suitable infrastructure. End devices 105 a-105n access content-based services 109 via one or more wired accessnetworks 113, whereas wireless end devices 107 a-107 n accesscontent-based services 109 by way of one or more wireless accessnetworks 115. In this manner, the actual content that is provided toconsumers in association with content-based services 109 is stored atand delivered by integrated content delivery router 101. Even thoughonly one integrated content delivery router 101 is illustrated, it iscontemplated that any number of suitable content delivery routers may beprovisioned to system 100. Further, integrated content delivery routers101 may be provisioned as part of (or extensions to) one or more ofnetworks 103 and 111-115. In this way, integrated content deliveryrouters 101 may be dedicated to or deployed in association with networks103 and/or 111-115 and content-based services 109. While specificreference will be made hereto, it is contemplated that system 100 mayembody many forms and include multiple and/or alternative components andfacilities.

Traditionally, content delivery networks (CDN) have been utilized byservice providers to deliver multiple types of content (e.g., audio,data, documents, objects, software, video, etc.) through multiplechannels or mediums. In this manner, one or more content deliveryplatforms may be deployed to enable consumer access to this content, aswell as enable service providers to monetize or charge for the storage,purchase, distribution, and/or use of the content or CDN resources. Itis noted that a typical CDN may include a system of frontend computingdevices (e.g., servers) having networked access to a plurality ofbackend storage area networks (SAN) that are geographically provisionedat various strategic locations to maximize the bandwidth effectivelyavailable to a concurrent clientele. That is, a CDN will seek to makemultiple copies of available content as “close” as possible to thegreatest amount of consumers so as to diminish the effects ofbottlenecking and, thereby, increase throughput. In such arrangements,CDNs attempt to dynamically distribute assets at redundant core,fallback, and edge servers in hopes that associated content deliveryplatforms can locate, direct, and optimize consumer access to thecontent. Essentially, CDNs seek to leverage the summed capacity ofdispersed storage and access resources, which may be, at times, greaterthat the capacity of backbone resources.

It is recognized, however, that CDN-based network traffic can consume amajority of the resources available to the core, fallback, and edgeservers. As such, CDNs tend to consume large sums of both upstream anddownstream bandwidth, which is especially true when network trafficpatterns change or when content availability is unique. Further, CDNsdiminish already squandering amounts of bandwidth when seeding remoteSANs with content from other content vaults or even from contentoriginators. Centrally concentrating content delivery into a platform ofCDN servers may enable statistical multiplexing efficiencies and reducenumbers of routing chassis; however, it creates other inefficiencies.For instance, a conventional CDN platform may include numerous servers,such that when a service provider attempts to locate available contentfor delivery to a third-party (e.g., for content delivery to “external”parties, such as the consuming public) or for a first-party (e.g.,content delivery to “internal” parties, such as between CDN stores), theconcentration of servers results in inefficiencies across access portcosts, heat generation and dissipation, content-location awareness,power consumption, and even stream replication, not to mention, resultsin bandwidth being inefficiently distributed among available deliveryports of disparate servers. From a management perspective, as CDNsincrease in size and capacity, the number of individual componentsrequiring monitoring and maintenance becomes unduly burdensome, not tomention vastly expensive. Moreover, upgrading CDNs may only require theaddition of more “pizza box” style servers to increase storage capacity,concurrent processing capabilities, available networking ports, etc.,but comes at the cost of increasing the number of necessary independentpower feeds, content replications, and aggregate resource upgrades when,for instance, only a single dimension of the content delivery equationwas being stressed, i.e., when only one or more of the storage capacity,concurrent processing capability, available networking ports, etc.,needed attention.

Therefore, the approach of system 100, according to certain exemplaryembodiments, stems from the recognition that by natively integrating oneor more SAN-type disk arrays, one or more blade center processing racks,one or more service-specific application cards, and a multi-chassisrouting interface into an integrated content delivery router capable ofstoring, streaming, and delivering content enables service providers toleverage common router assets, as well as reduce processing times forcontent location and retrieval since the router components are nativelycoupled amongst one another via a common native switch fabric. In thismanner, integrated content delivery routers enable economies of scope,as well as enable the flexibility to offload non-streaming functions toother networking nodes and, thereby, facilitate economics of scale too.Other exemplary embodiments stem from the recognition that by providinga blade-style infrastructure, service providers can independentlyupgrade (or otherwise modify) integrated content delivery routerfunctions and/or resources by simply adding, removing, or customizingblades (or blade configurations) for additional storage capacity,concurrent processing capability, available content-based applications,and/or available networking interfaces. Still further, such a unifiedstructure enables service providers to lease “virtually” partitioned oreven shared resources of an integrated content delivery router to otherCDN suppliers or networks and, thereby, create new sources of revenuesin an already highly competitive marketplace. In this manner, serviceproviders may further create unique service environments (USE) tooptimize resource utilization and, thereby, avoid resource contentionbetween USEs provisioned to a particular integrated content deliveryrouter, such as with regard to bandwidth, routing, storage capacity,content-based service sessions, control plane functions, etc. Further,since the resources of an integrated content delivery router may be“virtualized,” it is contemplated that these virtualized resources maybe allocated (or otherwise partitioned) among and between USEs in anysuitable manner, e.g., evenly, constantly, variably, or otherwisedistributed. As such, certain embodiments also enable the allocation ofvirtualized resources to be statically and/or dynamically assigned, suchas in accordance with one or more predefined service level agreements,based on a dynamic or historical assessment of consumed and, thereby,available resources, made contingent upon a policy of a network serviceprovider, and/or provisioned in relation to any one or more othersuitable metrics, parameters, policies, etc. Additionally (oralternatively), the virtualized resources may also be allocated orre-allocated in an “on-demand” fashion. Accordingly, integrated contentdelivery routers can be used to serve both first-party content demands,as well as leased to third-party content suppliers enabling virtualcollocation at much more efficient cost-per-bit technologies.

According to exemplary embodiments, content-based services 109 enableconsumers via, for example, end devices 105 a-105 n and wireless enddevices 107 a-107 n to request, access, and obtain content deliveredfrom integrated content delivery router 101 in one or more media ormultimedia formats, such as one or more audio, datacast, textual, video,etc., formats. For instance, video media may be encoded in a Realformat, a motion pictures group (MPG) format, a windows media format, orother video codec or format. Content accessed and obtained as audiomedia, such as in one or more music tracks or broadcast recordings maybe encoded in a motion pictures expert group (MPEG) audio layer (MP)format, waveform audio (WAVE) format, RealAudio format, or other audiocodec or format. Content accessed and/or obtained as datacast contentsmay be encoded as joint photographic experts groups (JPEG) files,portable network graphics (PNG) files, hypertext markup language (HTML)files, etc. In this manner, content-based services 109 may providevarious services, such as television and/or radio broadcasting, audioand/or video-on-demand streaming, targeted advertisement insertion,online game rendition, news reporting, stock quotations, sports scoring,weather reporting, deep-packet inspection services, general dynamic webcontent publishing, and the like.

As such, service provider network 103 enables end devices 105 a-105 nand wireless end devices 107 a-107 n to request and receive (orretrieve) content from integrated content delivery router 101 via one ormore of networks 111-115. As previously mentioned, one or moreintegrated content delivery routers 101 may be provisioned as part ofone or more of networks 103 and/or 111-115 and, thereby, made availableto end devices 105 a-105 n and wireless end devices 107 a-107 n torequest and receive (or retrieve) content therefrom. While notnecessary, this can enable the “shortening” of delivery distancesbetween integrated content delivery routers 101 and end devices 105a-105 n and wireless end devices 107 a-107 n. Networks 103 and 111-115may be any one or more suitable wireline and/or wireless networks, whichmay be owned and operated by one or more network service providers orprivately associated with any suitable third-party (e.g., business,corporation, government, institution, organization, etc.). For example,networks 103 and 111-115 may include circuit-switched networks, such asthe public switched telephone network (PSTN), an integrated servicesdigital network (ISDN), a private branch exchange (PBX), or other likenetwork. Networks 103 and 111-115 may employ various wireless accesstechnologies including, for example, code division multiple access(CDMA), enhanced data rates for global evolution (EDGE), general packetradio service (GPRS), mobile ad hoc network (MANET), global system formobile communications (GSM), Internet protocol multimedia subsystem(IMS), universal mobile telecommunications system (UMTS), or othersuitable cellular/radio networks, etc., as well as any other suitablewireless medium, e.g., microwave access (WiMAX), wireless fidelity(WiFi), satellite, and the like. Furthermore, networks 103 and 111-115may embody or include any local area network (LAN), metropolitan areanetwork (MAN), wide area network (WAN), the Internet, or any othersuitable packet-switched network, such as a commercially owned,proprietary packet-switched network, such as a proprietary cable orfiber-optic network.

Although depicted as separate entities, networks 103 and 111-115 may becompletely or partially contained within one another, or may embody oneor more of the aforementioned infrastructures. For instance, serviceprovider network 103 may embody circuit-switched and/or packet-switchednetworks that include facilities to provide for transport ofcircuit-switched and/or packet-based communications. It is furthercontemplated that networks 103 and 111-115 may include components andfacilities to provide for signaling and/or bearer communications betweenthe various components or facilities of system 100. In this manner,networks 103 and 111-115 may embody or include portions of a signalingsystem 7 (SS7) network, or other suitable infrastructure to supportcontrol and signaling functions. As such, the conjunction of networks103 and 111-115 may be adapted to facilitate content delivery in supportof content-based services 109 via one or more integrated contentdelivery routers 101.

According to exemplary embodiments, end devices 105 a-105 n and wirelessend devices 107 a-107 n may include any wired or wireless-based customerpremise equipment (CPE) capable of sending and/or receiving informationover one or more of networks 103 and/or 111-115. For instance, enddevices 105 a-105 n may be any suitable plain old telephone service(POTS) device, facsimile machine, etc., or suitable computing device,such as a VoIP phone, skinny client control protocol (SCCP) phone,session initiation protocol (SIP) phone, IP phone, personal computer,softphone, workstation, terminal, server, etc. Wireless end-devices 107a-107 n may be any cellular phone, radiophone, satellite phone, smartphone, wireless phone, or any other suitable mobile device, such as apersonal digital assistant (PDA), laptop, pocket personal computer,tablet, customized hardware, etc. Even though only a limited number ofend devices 105 a-105 n and wireless end devices 107 a-107 n areillustrated, it is contemplated that system 100 can support any suitablenumber of devices 105 a-105 n and 107 a-107 n.

Accordingly, integrated content delivery router 101 may be configured toreceive requests for content from one or more of end devices 105 a-105n, wireless end devices 107 a-107 n, and/or content-based services 109.These requests may be received in any suitable request format, such asone or more packetized formats or any other unit of transmission formatcapable of being transported over one or more of networks 103 and/or111-115. It is noted that the requests seek content that is, forexample, stored on one or more disk arrays (not shown) of integratedcontent delivery router 101 that are natively coupled to a switch fabric(not illustrated) of integrated content delivery router 101.Accordingly, integrated content delivery router 101 may be configured toselect, in response to received requests, one or more particular disks(not illustrated) of these disk arrays in order to retrieve the content,process and encode the content for delivery over one or more of networks103 and 111-115, as well as determine paths through the switch fabric ofintegrated content delivery router 101 for transmitting the content torequesting destinations, e.g., end devices 105 a-105 n, wireless enddevices 107 a-107 n, and/or content-based services 109.

As will become more apparent below, integrated content delivery router101 may, according to various exemplary embodiments, include one or morecomponents configured to manage, maintain, and terminate one or morecontent-based streaming (or otherwise transmitting) sessions, determineoptimal routes (or paths) for retrieving and/or delivering content,optimize networking resources (e.g., bandwidth consumption across andamong transmission sessions, networking port exhaustion, processingloads, power efficiencies, etc.,), perform efficient content storage andreplication processes, and/or execute one or more of the processesdescribed herein. Further, the various components of integrated contentdelivery router 101 may be individually upgraded, configured, andoptimized.

According to other exemplary embodiments, the various resources ofintegrated content delivery router 101 may be logically partitionedbetween providers of content-based services 109, between types ofcontent-based services 109, between scopes or functions of integratedcontent delivery router 101, or any other suitably divisible unit. Inthis manner, a service provider of integrated content delivery router101 may be able to create one or more unique service environments (USE)that may be monitored so that integrated content delivery router 101 mayavoid resource contention between provisioned USEs and, thereby,optimize bandwidth consumption, routing interfaces utilization, diskstorage depletion, streaming session count balancing, control planesignaling, and like. Such logical divisions may also be utilized todeploy and lease virtual “resources” of integrated content deliveryrouter 101 to third-party content providers, which enables thesethird-party content providers to operate in one or more contentownership roles, content broker roles, content wholesaling roles, andthe like. As previously mentioned, the virtualized resources ofintegrated content delivery routers 101 may be allocated (or otherwisepartitioned) amongst and between USEs in any suitable manner, e.g.,evenly, constantly, variably, or otherwise distributed. Such allocationsmay further be statically and/or dynamically assigned, such as inaccordance with one or more predefined service level agreements, basedon a dynamic or historical assessment of consumed and, thereby,available resources, made contingent upon a policy of a network serviceprovider, and/or provisioned in relation to any one or more othersuitable metrics, parameters, policies, etc. Additionally (oralternatively), the virtualized resources may be allocated andre-allocated in an “on-demand” fashion. Further, the leasing abilitiesof the virtualized resources of integrated content delivery routers 101enable a service provider to further monetize content-based deliveryservices. It is noted that exemplary configurations for integratedcontent delivery router 101 are described in more detail in accordancewith FIGS. 2 and 3.

FIG. 2 is a diagram of an integrated content delivery router, accordingto an exemplary embodiment. For descriptive purposes, integrated contentdelivery router (or router) 200 is described with respect to receivingrequests and streaming (or otherwise transmitting) content in units ofpackets, however, other suitable transfer schemes or units oftransmission may be utilized. In this manner, router 200 may comprisecomputing hardware (such as described with respect to FIG. 5), as wellas include one or more components configured to execute the processesdescribed herein for integrated content delivery. Furthermore, it iscontemplated that the components of router 200 may be combined and/orseparated into one or more multi-chassis configurations, such as willbecome more apparent in the description of FIG. 3.

As shown in FIG. 2, router 200 includes a plurality of integratedcomponents natively coupled amongst one another via a common switchfabric 201 and, thereby, are configured to operate as a single routercapable of storing, processing, and delivering content in support of oneor more content-based services, such as one or more of the previouslymentioned content-based services of content-based services 109.According to exemplary embodiments, the various components of router 200comprise removable “blades” of a rack-mountable chassis system. In thismanner, switch fabric 201 may be physically integrated into one or morechassis structures of router 200, such as a backplane, mid-plane,side-plane, or the like, of router 200. Individual component blades ofrouter 200 may be “hot-pluggable” and/or “hot-swappable” in variouspreconfigured blade slots (or connection receptacles) of router 200. Assuch, component blades may be natively coupled (e.g., physicallycoupled) to switch fabric 201 through one or more native fabric (orphysical plug-in) interfaces 203, 205, 207, and 209 of switch fabric201. Native fabric interfaces 203-209 enable components of router 200 toeffectively form a physically coupled internalized local area network(LAN) that is configured to support integrated content delivery viasystem 100. It is noted that component blades of router 200 may includestandalone control, power, communication, and/or cooling features andfunctions, which may be configured to operate in conjunction with (orsupplanted by) overall chassis control, power, communication, and/orcooling features and functions. This configuration, while not necessary,enables blade components to be individually added and/or removed, aswell as enables service providers to independently upgrade certainfeatures and functions without having to upgrade or address otherfeatures or functions.

According to exemplary embodiments, switch fabric 201 may be single ormulti-staged, as well as configured to include one or more dedicatedinterconnects (or paths) between various components of router 200, thepurpose of which will become more apparent below. It is further notedthat interconnections of switch fabric 201 may be multiplexed. Switchfabric 201 may operate via any suitable switch fabric interface, such as10 gigabit media independent interface (XAUI), peripheral componentinterconnect express (PCI-E), advanced switching, serial rapidinput/output, or any other suitable or proprietary switch fabricprotocol, such as other high-speed backplane protocols. Moreover, switchfabric 201 may provide non-blocking connectivity amongst components ofrouter 200 so that, for example, “N” inputs to switch fabric 201 may beinterconnected with “N” outputs via any combination of paths, whicheffectively enables pathways to be formed through switch fabric 201 thatinterconnect any particular input and any particular output.Non-blocking connectivity of switch fabric 201 further enables chassiscontrol (or central intelligence functions) to be abstracted and,thereby, enabled to exist on any one or more of the component blades ofrouter 200 or, as shown in FIG. 2, to be aggregated at, for example,chassis controller 211. Additionally or alternatively, each of thevarious components of router 200 may include a local controller (notshown) that interacts with chassis controller 211 and, thereby, provideschassis controller 211 with various control information (e.g.,configuration data, operational state, forwarding information, commands,instructions, etc.) regarding the respective component(s) for which thelocal controllers manage. Alternatively, separate or integratedcontrollers may be executed on each of the components of router 200.Accordingly, these controllers may utilize the various controlinformation available to router 200 to optimize bandwidth consumptionamongst networking ports, optimizing content processing tasks amongstcontrollers, processors, streamers, etc., process load balancing,optimize power consumption, determine shortest content delivery routes,as well as perform other suitable optimization tasks.

Accordingly, chassis controller 211 may be configured to control thevarious components of router 200, as well as control packet forwardingthroughout router 200. It is noted that router 200 may also include oneor more backup chassis controllers 213 for redundant and/or resilientoperation; however, backup chassis controller(s) 213 may functionsimilarly to chassis controller 211 and, therefore, are not explained inany further detail. In certain implementations, chassis controller 211may share control plane information amongst and between the componentsof router 200 via interconnections of switch fabric 201. For example,chassis controller 211 may communicate (or otherwise exchange) routinginformation, state information, configuration data, load balancinginformation, available resource information, and/or other informationvia switch fabric 201 in order to facilitate and optimize integratedcontent delivery processes. It is noted that the routing information mayinclude route data that describes various routes through networks 103and 111-115 to particular end destinations, such as content-basedservices 109, end devices 105 a-105 n, and/or wireless end devices 107a-107 n, as well as next hop route data indicating neighboring devices(e.g., routers, switches, or other networking nodes) of networks 103 and111-115 for realizing shortest path routes. As such, chassis controller211 may update routing information (such as periodically, continually,in response to configuration changes, in an on-demand fashion, or any inany other suitably scheduled or randomized fashion) so as to reflect a“current” and “optimized” network topology of system 100.

In certain embodiments, chassis controller 211 may utilize routinginformation to determine forwarding information (or paths) throughswitch fabric 201 for enabling content stored to one or more disks (notshown) of disk arrays 215 a-215 n to be streamed (or otherwisetransmitted) to end devices 105 a-105 n, wireless end devices 107 a-107n, content-based services 109, other integrated content delivery routers(not shown), etc., via one or more input/output ports (not illustrated)of interface cards (IFC) 217 a-217 n. According to certain exemplaryembodiments, disk arrays 215 a-215 n may be configured to each store oneinstance of particular content intended for distribution in associationwith content-based services 109, which may be aggregated at a particulardisk of a particular disk array or may be stripped across one or moredisks of a particular disk array. While not necessary, such storagemethodology avoids unnecessary content replication of the same dataacross numerous volumes present at a same physical location and/oravoids routers 200 having to be configured for content locationawareness features that, in turn, circumvent processes whereby router200 has to redirect content requests to other integrated content routershaving the requested content. Further, disk arrays 215 a-215 n may storecatalogs of related content, which may be stored in association withtarget identifiers and/or behavioral keyword mappings, such as forutilization in targeting advertisements to consumers based on, forinstance, primary content streams (e.g., video broadcast) already beingreceived by these consumers. It is further noted that disk arrays 215a-215 n may be natively coupled to switch fabric 201 via native fabricinterface 205.

According to certain exemplary embodiments, chassis controller 211 mayalso provide forwarding information to the various components of router200 so that the components may exchange information, control commands,or other data, as well as send and/or receive packets over one or moreof networks 103 and 111-115. It is noted that switch fabric 201 mayinclude one or more dedicated paths (or interconnects) for the exchangeof routing information between components so that, for example, primarycontent delivery functions of router 200 will not be hindered in theprocess of exchanging routing information and/or control information. Ina similar fashion, content replication processes (and associatedinformation exchange) and/or content storage/delivery processes (andassociated information exchange) may traverse dedicated paths of switchfabric 201 so that content preparation (e.g., encoding, decoding,encryption, decryption, etc.), content streaming (or transmission), andcontent maintenance (e.g., content replication, modification,relocation, etc.) tasks will not hinder the other tasks.

As previously mentioned, router 200 includes one or more interface cards(IFC) 217 a-217 n that are configured to enable router 200 to sendpackets over and receive packets from networks 103 and 111-115. Thesepackets may embody control information, routing information, a requestfor content, a stream of content, or any other suitable form (or type)of network traffic. Accordingly, packets (or other units oftransmission) may be capable of fixed and variable lengths depending onthe configuration of router 200 and/or system 100. In this manner,router 200 may be configured to exchange packets in fixed or variablelengths only or both fixed and variable lengths. At any rate, IFCs 217a-217 n may be configured to route packets on a data plane of router 200using, for example, one or more optical interconnects of switch fabric201; however, it is contemplated that switch fabric 201 may utilize anyother (or combination of) physical transport (or switching) mediums.Control plane communications between IFCs 217 a-217 n may also occur viainterconnects of switch fabric 201. As shown, IFCs 217 a-217 n nativelycouple to switch fabric 201 via native fabric interface 203.

To manage content transmission sessions over one or more of networks 103and/or 111-115, router 200 may also include one or more sessioncontrollers 219 a-219 n natively coupled to switch fabric 201 via nativefabric interface 209. Accordingly, session controllers 219 a-219 n areconfigured to terminate content delivery sessions serviced by, forexample, streamer cards 221 a-221 n or any other suitable content-basedapplication service or monitoring card, e.g., targeted advertisementinsertion cards, online gaming rendition cards, deep packet inspection(DPI) cards, broadcasting cards, etc. In this manner, router 200 mayeffectively serve as one or more of content-based services 109. That is,the traditional features and functions of conventional content-basedservice 109 may be assumed by router 200 or may be divided betweenrouter 200 and content-based service 109. According to exemplaryembodiments, streamer cards 221 a-221 n may be configured to supportstreaming content according to various protocols, such as the userdatagram protocol (UDP), real-time streaming protocol (RTSP), real-timetransport protocol (RTP), real-time transport control protocol (RTCP),hypertext transmission protocol (HTTP), transmission control protocol(TCP), unicast protocols, multicast protocols, internet protocolmulticast protocols (e.g., internet group management protocol (IGMP)),peer-to-peer protocols, etc. Streamer cards 221 a-221 n are nativelycoupled to switch fabric 201 via native fabric interface 207.

Even though not illustrated, the various components of router 200 may besupported within a chassis comprised of any one or more suitablematerials for providing a rigid structure in which to support andprotect the various components of router 200. The chassis structure ofrouter 200 may also serve as a shield against undesirable environmental“noises,” such as electrical noises, stray optic signals, mechanicalvibrations, etc. According to certain embodiments, router 200 may alsoinclude a chassis cooling intake system (or system) 223 and a chassiscooling exhaust system (or system) 225 to provide, for instance, aircirculation and, thus, forced convective cooling effects. Systems 223and 225 may be controlled via chassis controller 211 so as to manageambient conditions within router 200 and among the various components ofrouter 200. Chassis controller 211 may, thereby, be able to control,monitor, and/or maintain certain temperatures, air flows, etc., withinand about router 200. Router 200 may also have one or more powersupplies (not shown), which may be disposed within the chassis structureof router 200, and may serve to convert and/or transform alternatingcurrent power into one or more direct current voltages for use by thevarious components of router 200. It is further noted that such powersupplies may also be natively coupled to switch fabric 201 for powerdistribution purposes.

According to particular embodiments, chassis controller 211, along withinformation stored to one or more of disk arrays 215 a-215 n, may beconfigured to facilitate USE management tasks, which may be performed oneither a per USE basis, such as by one or more service providers (orusers) associated with a content-based service(s) provisioned to aparticular USE, or may be aggregately performed, such as by a serviceprovider of router 200 to manage router 200 or one or more USEsprovisioned to router 200. In this manner, chassis controller 211 may beconfigured to provide a portal interface, such as a web or otherwisenetworked interface, that enables local or remote access to router 200and USE management tasks of router 200, such as for configuring acontent-based service, uploading, downloading, and/or modifying contentstored to one or more of disk arrays 215 a-215 n, monitoring performanceand resource usage of one or more USEs, etc. In certain embodiments, theportal interface may be provided in the form of one or more graphicaluser interfaces (GUI) configured with one or more menus of options toenable users to interface with router 200 and perform one or more USEmanagement tasks.

It is noted that the portal interface may be dynamically generated bychassis controller 211 or stored to one or more of disk arrays 215 a-215n and, as such, implemented by chassis controller 211. However, it isalso contemplated that another facility or component of system 100, suchas a frontend, middleware, or backend server (not shown), may bedeployed to provide the portal interface and, thereby, configured toengage with router 200 to facilitate USE management tasks. Accordingly,end devices 105 a-105 n or wireless end devices 107 a-107 n may beutilized to access the portal interface over one or more of networks 103and/or 111-115 and, thereby, access the USE management features andfunctionalities. Still further, an interfacing application may beadditionally (or alternatively) implemented on one or more of enddevices 105 a-105 n or wireless end devices 107 a-107 n and, thereby,configured to interface with router 200 to provide the USE managementtasks. As such, certain other embodiments may enable chassis controller211, end devices 105 a-105 n, and/or wireless end devices 107 a-107 n tofunction in conjunction with one another to provide a portal interfaceand/or USE management features and functionalities.

According to certain embodiments, USE management tasks may be providedto users according to one or more policies governing access to andconfiguration of the resources of router 200 and/or settings,parameters, options, etc., associated with a particular USE. In thismanner, an individual user associated with a particular USE may begranted limited (or otherwise selective) access and configuration rightsto engage with those content-based services corresponding to theparticular user and/or USE, as well as to those resources allotted tothe accessible and configurable USE. Of course, it is also contemplatedthat complete access and configuration rights may be granted to certainusers, such as network administrators charged with managing router 200and/or the USEs provisioned to router 200.

In order to provide the selective access and configuration rights,chassis controller 211 may also include (or have access to) anauthentication module (not illustrated) for authenticating (orauthorizing) users to router 200. It is contemplated that theauthentication module may operate in concert with the portal interface.That is, the portal interface and the authentication module may operatein conjunction with one another to verify user provided credentialinformation acquired from a particular user against correspondingcredential information stored within a user profile of, for instance,one or more of disk arrays 215 a-215 n or any other suitable memory orstorage location of or accessible to router 200. By way of example, thecredential information may include “log on” information corresponding toa user name, password, coded key, or other unique identificationparameter, such a personal identification number (PIN). In otherinstances, the credential information may include any one or combinationof a birth date, an account number (e.g., bank, credit card, billingcode, etc.), a social security number (SSN), an address (e.g., work,home, internet protocol (IP), media access control (MAC), port, etc.),or telephone listing (e.g., work, home, cellular, etc.), as well as anyother form of uniquely identifiable datum, e.g., biometric code, voiceprint, etc. Users may provide this information via end devices 105 a-105n and/or wireless end devices 107 a-107 n, such as by spoken utterances,dual-tone multi-frequency (DTMF) signals, packetized transmissions, etc.It is contemplated that unobtrusive security may be provided bypositively identifying and screening users based on one or more of theaforementioned credentials which may be seamlessly provided when enddevices 105 a-105 n and wireless end devices 107 a-107 n communicatewith the portal interface, such as based on a unique IP or MAC address,voice print, or any other suitable unobtrusive measure.

According to certain other embodiments, selective access andconfiguration rights may be further realized through one or morephysical and/or virtualized sub-controllers (not shown) of router 200.In this manner, individual users may be authorized (via, for instance,the portal interface and/or authentication module) to a particularsub-controller that may be provided with a limited ability to controlrouter 200 and/or particular USEs provisioned to router 200.

As previously mentioned, router 200 may also be provided in amulti-chassis configuration. FIG. 3 is a diagram of a multi-chassisintegrated content delivery router, according to an exemplaryembodiment. In this example, the various components of multi-chassisintegrated content delivery router (or multi-chassis router) 300 operatesimilarly to corresponding components of router 200 and, therefore, thefunctioning of similar components are not further explained. In theillustrated embodiment, however, the various components of router 200may be separated into one or more dedicated chassis, such as IFC chassis301, disk array chassis 303, session controller chassis 305, streamer(or content-based service application) chassis 307, and switch fabricchassis 309. Accordingly, chassis 301-309 may be natively coupled viaone or more corresponding native fabric interfaces 311, 313, 315, 317,319, 321, 323, and 325 that may be interfaced with corresponding switchfabrics (e.g., switch fabric blades) 327, 329, 331, 333, 335, 337, 339,and 341 of switch fabric chassis 309. Native fabric interfaces 311-325may be physically coupled to switch fabrics 327-341 via one or moreoptical interconnects 343 or other suitable physical transport media. Insuch an arrangement, it is to be appreciated that multi-chassis router300 still operates and functions as a single router and is accordinglyviewed by bordering networking nodes (e.g., other routers, switches,etc.) as a single routing entity.

According to exemplary embodiments, interface card chassis 301 includesa plurality of IFCs 345 a-345 n that operate similarly as IFCs 217 a-217n, disk array chassis includes a plurality of disk arrays 347 a-347 nthat operate similarly to disk arrays 215 a-215 n, session controllerchassis 305 includes a plurality of session controllers 349 a-349 n thatoperate similarly to session controllers 219 a-219 n, and steamerchassis 307 includes a plurality of streamer cards 351 a-351 n thatoperate similarly to streamer cards 221 a-221 n. It is further notedthat chassis 301-307 may include respective local chassis controllers353, 355, 357, and 359 and local backup chassis controllers 361, 363,365, and 367 that may operate alone or in conjunction with a mastermulti-chassis controller 369 that may be backed up via backupmulti-chassis controller 371. It is also noted that the multi-chassisconfiguration of multi-chassis router 300 enables central control andintelligence to be abstracted and, thereby, made available at any one ofthe various components of multi-chassis router 300. Moreover, chassis301-309 may include corresponding chassis cooling intake systems 373,375, 377, 379, and 381 that function similar to chassis cooling intakesystem 223 and respective chassis cooling exhaust systems 383, 385, 387,389, and 391 that function similar to chassis cooling exhaust system225.

FIG. 4 is a flowchart of a process for integrated content delivery,according to an exemplary embodiment. For illustrative purposes, theprocess is described with reference to FIGS. 1 and 2. It is furthernoted that the steps of the process may be performed in any suitableorder and/or combined in any suitable manner. In step 401, router 200receives a request for content at IFC 217 n that is stored on, forexample, one or more disk arrays (e.g., disk array 215 a) of router 200.The request may be embodied as one or more incoming packets received atIFC 217 n that is forwarded to, for example, chassis controller 211 viaswitch fabric 201. As previously noted, disk array 215 a and IFC 217 nare natively coupled to switch fabric 201 via native fabric interfaces205 and 203. In response thereto, chassis controller 211 may select (atstep 403) one or more particular disks of disk array 215 a (or of one ormore of disk arrays 215 a-215 n) to retrieve the content. This selectionmay be based on one or more criteria, such as other content requestsbeing serviced by disk arrays 215 b-215 n, overall disk array usage,shortest path retrieval through switch fabric 201, disk array stateinformation, power consumption statistics associated with disk arrays215 a-215 n and/or any other suitable parameter. In performing thisselection, chassis controller 211 may also provide control informationto one or more session controllers (e.g., session controller 219 b) toestablish a content-delivery session to, for instance, end device 105 nand other control information to one or more of streamers 221 a-221 n(e.g., streamer 221 a) for encoding content retrieved from the one ormore disks of the one or more disk arrays 215 a-215 n for transmissionvia the content delivery session. It is noted that this controlinformation may be passed between chassis controller 211, sessioncontroller 219 b, and streamer 221 a via switch fabric 201, wherebysession controller 219 b and streamer 221 a are natively coupled toswitch fabric 201 via native fabric interfaces 209 and 207. As such,switch fabric 201 may forward the content retrieved from the one or moredisks of the one or more disk arrays 215 a-215 n to one or more ofstreamers 221 a-221 n (e.g., streamer 221 a) for encoding beforetransmission via an initiated content-delivery session. Per step 405,chassis controller 211 may, via routing data, next hop data, andoptimization parameters, determine a path through switch fabric 201 fortransmission of the requested content to end device 105 n via, forinstance, wired access network 113. That is, chassis controller 211determines one or more switch configurations and switch interconnectionsthrough switch fabric 201 that natively couples utilized streamers(e.g., streamer 221 a) to intended output IFCs (e.g., IFC 217 b) so thatencoded content therefrom may be forwarded to the output IFCs fortransmission to end device 105 n. Thus, at step 407, the content istransmitted (e.g., streamed) to end device 105 n based on the determinedpath and/or routing information provided to output IFCs (e.g., IFC 217b) via chassis controller 211.

The processes described herein for providing integrated content deliverymay be implemented via software, hardware (e.g., general processor,Digital Signal Processing (DSP) chip, an Application Specific IntegratedCircuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmwareor a combination thereof. Such exemplary hardware for performing thedescribed functions is detailed below.

FIG. 5 illustrates computing hardware (e.g., computer system) 500 uponwhich exemplary embodiments can be implemented. At the outset, it isnoted that even though only certain numbers (or instances) of thevarious components of computer system 500 are illustrated, it iscontemplated that computer system 500 may include any suitable number ofthese components, such as in multi-core, multi-processor based computingsystems, multiple and/or redundant storage based computing systems, etc.The computer system 500 includes a bus 501 or other communicationmechanism for communicating information and a processor 503 coupled tothe bus 501 for processing information. The computer system 500 alsoincludes main memory 505, such as a random access memory (RAM) or otherdynamic storage device, coupled to the bus 501 for storing informationand instructions to be executed by the processor 503. Main memory 505can also be used for storing temporary variables or other intermediateinformation during execution of instructions by the processor 503. Thecomputer system 500 may further include a read only memory (ROM) 507 orother static storage device coupled to the bus 501 for storing staticinformation and instructions for the processor 503. A storage device509, such as a magnetic disk or optical disk, is coupled to the bus 501for persistently storing information and instructions.

The computer system 500 may be coupled via the bus 501 to a display 511,such as a cathode ray tube (CRT), liquid crystal display, active matrixdisplay, or plasma display, for displaying information to a computeruser. An input device 513, such as a keyboard including alphanumeric andother keys, is coupled to the bus 501 for communicating information andcommand selections to the processor 503. Another type of user inputdevice is a cursor control 515, such as a mouse, a trackball, or cursordirection keys, for communicating direction information and commandselections to the processor 503 and for controlling cursor movement onthe display 511.

According to an exemplary embodiment, the processes described herein areperformed by the computer system 500, in response to the processor 503executing an arrangement of instructions contained in main memory 505.Such instructions can be read into main memory 505 from anothercomputer-readable medium, such as the storage device 509. Execution ofthe arrangement of instructions contained in main memory 505 causes theprocessor 503 to perform the process steps described herein. One or moreprocessors in a multi-processing arrangement may also be employed toexecute the instructions contained in main memory 505. In alternativeembodiments, hard-wired circuitry may be used in place of or incombination with software instructions to implement exemplaryembodiments. Thus, exemplary embodiments are not limited to any specificcombination of hardware circuitry and software.

The computer system 500 also includes a communication interface 517coupled to bus 501. The communication interface 517 provides a two-waydata communication coupling to a network link 519 connected to a localnetwork 521. For example, the communication interface 517 may be adigital subscriber line (DSL) card or modem, an integrated servicesdigital network (ISDN) card, a cable modem, a telephone modem, or anyother communication interface to provide a data communication connectionto a corresponding type of communication line. As another example,communication interface 517 may be a local area network (LAN) card (e.g.for Ethernet™ or an Asynchronous Transfer Model (ATM) network) toprovide a data communication connection to a compatible LAN. Wirelesslinks can also be implemented. In any such implementation, communicationinterface 517 sends and receives electrical, electromagnetic, or opticalsignals that carry digital data streams representing various types ofinformation. Further, the communication interface 517 can includeperipheral interface devices, such as a Universal Serial Bus (USB)interface, a PCMCIA (Personal Computer Memory Card InternationalAssociation) interface, etc. Although a single communication interface517 is depicted in FIG. 5, multiple communication interfaces can also beemployed.

The network link 519 typically provides data communication through oneor more networks to other data devices. For example, the network link519 may provide a connection through local network 521 to a hostcomputer 523, which has connectivity to a network 525 (e.g. a wide areanetwork (WAN) or the global packet data communication network nowcommonly referred to as the “Internet”) or to data equipment operated bya service provider. The local network 521 and the network 525 both useelectrical, electromagnetic, or optical signals to convey informationand instructions. The signals through the various networks and thesignals on the network link 519 and through the communication interface517, which communicate digital data with the computer system 500, areexemplary forms of carrier waves bearing the information andinstructions.

The computer system 500 can send messages and receive data, includingprogram code, through the network(s), the network link 519, and thecommunication interface 517. In the Internet example, a server (notshown) might transmit requested code belonging to an application programfor implementing an exemplary embodiment through the network 525, thelocal network 521 and the communication interface 517. The processor 503may execute the transmitted code while being received and/or store thecode in the storage device 509, or other non-volatile storage for laterexecution. In this manner, the computer system 500 may obtainapplication code in the form of a carrier wave. Accordingly, processor503 may be accessed and/or configured via any suitable local and/orremote session, such as a remote session established via network link519. In this manner, one or more management protocols, e.g., extensiblemarkup language (XML) based protocols, simple network managementprotocol (SNMP), etc., interactive commands, preloaded configurationfiles, etc., may be used to engage and configure computer system 500.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing instructions to the processor 503 forexecution. Such a medium may take many forms, including but not limitedto non-volatile media, volatile media, and transmission media.Non-volatile media include, for example, optical or magnetic disks, suchas the storage device 509. Volatile media include dynamic memory, suchas main memory 505. Transmission media include coaxial cables, copperwire and fiber optics, including the wires that comprise the bus 501.Transmission media can also take the form of acoustic, optical, orelectromagnetic waves, such as those generated during radio frequency(RF) and infrared (IR) data communications. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,CDRW, DVD, any other optical medium, punch cards, paper tape, opticalmark sheets, any other physical medium with patterns of holes or otheroptically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave, or any other mediumfrom which a computer can read.

Various forms of computer-readable media may be involved in providinginstructions to a processor for execution. For example, the instructionsfor carrying out at least part of the exemplary embodiments mayinitially be borne on a magnetic disk of a remote computer. In such ascenario, the remote computer loads the instructions into main memoryand sends the instructions over a telephone line using a modem. A modemof a local computer system receives the data on the telephone line anduses an infrared transmitter to convert the data to an infrared signaland transmit the infrared signal to a portable computing device, such asa personal digital assistant (PDA) or a laptop. An infrared detector onthe portable computing device receives the information and instructionsborne by the infrared signal and places the data on a bus. The busconveys the data to main memory, from which a processor retrieves andexecutes the instructions. The instructions received by main memory canoptionally be stored on storage device either before or after executionby processor.

While certain exemplary embodiments and implementations have beendescribed herein, other embodiments and modifications will be apparentfrom this description. Accordingly, the invention is not limited to suchembodiments, but rather to the broader scope of the presented claims andvarious obvious modifications and equivalent arrangements.

1. A method comprising: receiving a request for content stored on a diskarray of a router; selecting, in response to the request, one or moredisks of the disk array to retrieve the content, wherein the disk arrayis natively coupled to a switch fabric of the router, the nativecoupling providing a physically coupled internalized local area network;and determining a path through the switch fabric for transmission of thecontent.
 2. A method according to claim 1, further comprising:initiating, at the router, a content streaming session in response tothe request; and causing the content to be transmitted as part of thecontent streaming session based on the determined path.
 3. A methodaccording to claim 2, further comprising: encoding the content at therouter before transmission as part of the content streaming session. 4.A method according to claim 1, wherein the path is determined based oninformation relating to one or more of available bandwidth, loadbalancing, and shortest delivery path.
 5. A method according to claim 1,wherein resources of the router are logically partitioned into aplurality of unique service environments and the path is determined toprevent resource contention between the plurality of unique serviceenvironments.
 6. A method according to claim 5, wherein the resourcesare leased to the unique service environments.
 7. A method according toclaim 1, wherein the one or more disks are selected based on disk usageinformation.
 8. A method according to claim 1, wherein the contentrelates to one of video content, targeted advertisement content, gamingcontent, or deep packet inspection content.
 9. A method according toclaim 8, wherein video content is stored one per disk array of therouter.
 10. An apparatus comprising: a switch fabric; a disk arraynatively coupled to the switch fabric, the native coupling providing aphysically coupled internalized local area network; and a controllerconfigured to receive a request for content stored on the disk array,select, in response to the request, one or more disks of the disk arrayto retrieve the content, and determine a path through the switch fabricfor transmission of the content.
 11. An apparatus according to claim 10,further comprising: a session controller natively coupled to the switchfabric and configured to initiate, in response to the request, a contentstreaming session, wherein the controller is further configured to causethe content to be transmitted as part of the content streaming sessionbased on the determined path.
 12. An apparatus according to claim 11,wherein the switch fabric provides non-blocking connectivity between thedisk array and the session controller.
 13. An apparatus according toclaim 11, further comprising: a streamer natively coupled to the switchfabric and configured to encode the content before transmission as partof the content streaming session.
 14. An apparatus according to claim10, wherein the path is determined based on information relating to oneor more of available bandwidth, load balancing, and shortest deliverypath.
 15. An apparatus according to claim 10, wherein the apparatus is amulti-chassis apparatus including a first chassis supporting the diskarray and a second chassis supporting the switch fabric.
 16. Anapparatus according to claim 15, wherein the disk array is nativelycoupled to the switch fabric via at least one optical interconnect. 17.An apparatus according to claim 10, further comprising: a chassisconfigured to support a plurality of removable blades; and a removableblade including the disk array, wherein the switch fabric is integratedinto a plane of the chassis and configured to natively couple to thedisk array through a physical plug-in interface.
 18. An apparatusaccording to claim 17, wherein the plurality of removable blades are hotpluggable and hot swappable.
 19. An apparatus according to claim 10,wherein resources of the apparatus are logically partitioned into aplurality of unique service environments and the controller is furtherconfigured to determine the path to prevent resource contention betweenthe plurality of unique service environments.
 20. An apparatus accordingto claim 10, wherein the content relates to one of video content,targeted advertisement content, gaming content, or deep packetinspection content.